﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.ComponentModel;
using DataSetCarpayTableAdapters;
/// <summary>
/// Summary description for Estado
/// </summary>
public class EstadosBLL
{
    string nombre;

    public string Nombre
    {
        get { return nombre; }
        set { nombre = value; }
    }
    string descripcion;

    public string Descripcion
    {
        get { return descripcion; }
        set { descripcion = value; }
    }

    private ESTADOTableAdapter _estadoAdapter = null;

    protected ESTADOTableAdapter Adapter
    {
        get
        {
            if (_estadoAdapter == null)
            {
                _estadoAdapter = new ESTADOTableAdapter();
            }
            return _estadoAdapter;
        }
    }
    /// <summary>
    /// Funcion que permite obtener todos los estados disponibles
    /// </summary>
    /// <returns>DataTable (podria ser usado con GridView)</returns>
    [System.ComponentModel.DataObjectMethodAttribute
        (System.ComponentModel.DataObjectMethodType.Select, true)]
    public DataSetCarpay.ESTADODataTable getEstados()
    {
        return Adapter.GetData();
    }
    [System.ComponentModel.DataObjectMethodAttribute
        (System.ComponentModel.DataObjectMethodType.Select, true)]
    public DataSetCarpay.ESTADODataTable getEstadosByNombreEstado(string nombre)
    {
        if (nombre.Trim().CompareTo("") != 0)
        {
            return Adapter.GetDataByNombre(nombre);
        }
        else
        {
            return Adapter.GetData();
        }
    }

    [System.ComponentModel.DataObjectMethodAttribute
        (System.ComponentModel.DataObjectMethodType.Insert, true)]
    public int ingresarEstado(string nombre, string descripcion)
    {
        int filas_afectadas = Adapter.Insert1(nombre, descripcion);
        if (filas_afectadas != 0) return 1;
        else return 0;
    }

    [System.ComponentModel.DataObjectMethodAttribute
        (System.ComponentModel.DataObjectMethodType.Update, true)]
    public int actualizarEstado(string nombre, string descripcion)
    {
        int filas_afectadas = Adapter.Update(nombre, descripcion);
        if (filas_afectadas != 0) return 0;
        else return 1;
    }
    /*
     * los delete los vamos a dejar para el final porque hay que ver el trigger para 
     que se eliminen las transiciones asociadas a ese estado
     */
	public EstadosBLL()
	{
		//
		// TODO: Add constructor logic here
		//
	}
}
